
#include "Parser.hpp"
#include <iostream>
int main(int argv, char *argc[])
{
    using namespace std;
    using namespace ym;
    if (argv <= 1)
    {
        cout << "required a json file";
        return 1;
    }
    char *filename = argc[1];
    Json *json = nullptr;
    try
    {
        Parser p = Parser();
        json = p.loadFromFile(filename);
        std::cout<<json->toString();
        // std::cout<<*json;
        // Json *humen = json->get("humen");
        // Json *fruit = json->get("fruit");
        // cout << "humen: " << *humen << endl;
        // cout << "fruit: " << *fruit << endl;
        // if (humen->isObject())
        // {
        //     const ym::Json::Object map = humen->getObject();
        //     for (auto i = map.begin(); i != map.end(); i++)
        //     {
        //         cout << i->first << ":\t" << *(i->second) << endl;
        //     }
        // }
        // if (fruit->isArray())
        // {
        //     const ym::Json::Array array = fruit->getArray();
        //     for (auto i = array.begin(); i < array.end(); i++)
        //     {
        //         cout << **i << endl;
        //     }
        // }
        std::cout << "done\n";
    }
    catch (runtime_error &e)
    {
        cout << e.what() << endl;
    };
    if (json != nullptr)
    {
        delete json;
    }
    return 0;
}